package com.ydkj.a37e_mall.Classes.Fragment;


import android.graphics.Bitmap;
import android.support.v4.app.Fragment;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.ydkj.a37e_mall.R;

/**
 * Fragment的懒加载。
 */

public abstract class BaseFragment extends Fragment {

    /**
     * Fragment当前状态是否可见
     * <p>
     * 该方法用于告诉系统，这个Fragment的UI是否是可见的。
     */
    protected boolean isVisible;
    DisplayImageOptions displayImageOptions = new DisplayImageOptions.Builder().showImageOnLoading(R.mipmap.ic_launcher)
            .showImageForEmptyUri(R.mipmap.ic_launcher).showImageOnFail(R.mipmap.image_loader).cacheInMemory(true).cacheOnDisk(true)
            .considerExifParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);

        if (getUserVisibleHint()) {
            isVisible = true;
            onVisible();
        } else {
            isVisible = false;
            onInvisible();
        }
    }


    /**
     * 可见
     */
    protected void onVisible() {
        lazyLoad();
    }


    /**
     * 不可见
     */
    protected void onInvisible() {


    }


    /**
     * 延迟加载
     * 子类必须重写此方法
     */
    protected abstract void lazyLoad();
}